

package cn.shengchao.examstar.account.acl.ports.repositories;

import cn.shengchao.examstar.account.domain.Account;
import cn.shengchao.examstar.account.domain.AccountPayLog;
import cn.shengchao.examstar.account.domain.AccountPayoutsLog;
import cn.shengchao.examstar.account.infrastructure.dao.vo.AccountList;
import cn.shengchao.examstar.account.infrastructure.dao.vo.PayoutsList;

import java.math.BigDecimal;
import java.util.List;
import java.util.Optional;

public interface IAccountRepository {
    Account of(Long accountId);

    void update(Account account);

    void saveAccountPayLog(AccountPayLog accountPayLog);

    Optional<Account> ofByUid(Long uid);

    BigDecimal getYesterdayIncome(Long id);

    void saveAccountPayoutsLog(AccountPayoutsLog accountPayoutsLog);

    List<AccountList> accountLists(Long userId);

    List<PayoutsList> payoutsLog(Long userId);

}
